{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.rcParams['text.usetex'] = True\n",
    "plt.rcParams['text.latex.preamble'] = [r'\\usepackage{amsmath}']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "xmin, xmax = 0, 2\n",
    "\n",
    "xs1 = np.linspace(xmin**2, xmax**2, 20)\n",
    "xs2 = np.linspace(xmin, xmax, 20)\n",
    "\n",
    "ys1 = np.sin(xs1)\n",
    "ys2 = np.sin(xs2**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PolyCollection at 0x7ff1348fea58>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x432 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(1, 2, figsize=(12, 6), sharex='row', sharey='row')\n",
    "\n",
    "axes[0].spines['right'].set_color('none')\n",
    "axes[0].spines['top'].set_color('none')\n",
    "axes[0].spines['bottom'].set_position(('data', 0))\n",
    "axes[0].spines['left'].set_position(('data', 0))\n",
    "axes[0].plot(xs1, ys1)\n",
    "\n",
    "axes[1].spines['right'].set_color('none')\n",
    "axes[1].spines['top'].set_color('none')\n",
    "axes[1].spines['bottom'].set_position(('data', 0))\n",
    "axes[1].spines['left'].set_position(('data', 0))\n",
    "axes[1].plot(xs2, ys2)\n",
    "\n",
    "axes[0].text(1.5, -0.3, '$sin(u)$', fontsize=22)\n",
    "axes[0].text(1.5, -0.6, '$\\int_{0}^{4} sin(u)du$', fontsize=22)\n",
    "axes[0].fill_between(xs1, ys1, color='b', alpha=0.3)\n",
    "\n",
    "axes[1].text(2.5, -0.3, '$sin(x^2)$', fontsize=22)\n",
    "axes[1].text(2.5, -0.6, '$\\int_{0}^{2} sin(x)dx$', fontsize=22)\n",
    "axes[1].fill_between(xs2, ys2, color='g', alpha=0.3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从上图可以看出, 右图到左图实际上通过压扁拉伸(在多维空间会存在扭转)坐标的过程.\n",
    "\n",
    "let: $u = x^2$, then:\n",
    "\n",
    "$du = 2xdx \\rightarrow dx = \\dfrac{du}{2x}$, then:\n",
    "\n",
    "$$\n",
    "\\int_{0}^{2} sin(x^2)dx \\xrightarrow[]{u=x^2} \\\n",
    "\\int_{0}^{4} sin(u)\\dfrac{du}{2x} \\xrightarrow[]{x=\\sqrt{u}} \\\n",
    "\\int_{0}^{4} sin(u) \\dfrac{du}{2\\sqrt{u}}\n",
    "$$\n",
    "\n",
    "$du$ 是 $2x$ 倍的$dx$, 当$x<1$的时候压扁, 当$x>1$的时候拉伸\n",
    "\n",
    "其中$\\dfrac{1}{2\\sqrt{u}}$就是雅克比因子:\n",
    "\n",
    "$$\n",
    "d_{左图面积:矩形底x宽} = sin(u)du = sin(x)2xdx = d_{右图面积} * 2x\n",
    "$$\n",
    "\n",
    "则右图面积:\n",
    "\n",
    "$$\n",
    "d_{右图面积} = \\dfrac{d_{左图面积}}{2x} = \\dfrac{d_{左图面积}}{2\\sqrt{u}}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we finally understand where that extra $\\dfrac{1}{2\\sqrt{u}}$ bit comes from when we make a substitution. It's accounting for how much the shape got distorted when we switch coordinate systems. That factor is called the Jacobian of the transformation."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
